/*
   This file is part of kleber.
   Copyright 2008 Simon Schmeisser <mail_to_wrt@gmx.de>
   
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.
    
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include "KleberPageDisplay.h"

#include "KleberPage.h"

#include <QtGui/QImage>
#include <QtGui/QPainter>
#include <QtGui/QPaintEvent>
#include <QtGui/QPrinter>

#include <QDebug>

KleberPageDisplay::KleberPageDisplay( const KleberPage *page, QWidget *parent)
: QWidget(parent)
{
	m_page = (KleberPage*) page;
}

KleberPageDisplay::~KleberPageDisplay()
{
}

void KleberPageDisplay::printPage(const QString &fileName)
{
	if ( not m_page)
		return ;
	
	QPrinter printer;
	
	printer.setOutputFormat(QPrinter::PdfFormat);
	printer.setPageSize(QPrinter::A4);
	printer.setOutputFileName(fileName);
//	printer.setResolution(m_page->resolution());
	qDebug() << m_page->resolution();
	printer.setFullPage(true);

	QPainter painter(&printer);
	painter.drawImage(QPoint(0,0), m_page->image());

	printer.newPage();

	painter.drawText(QPoint(10, 10), "Hello World");
}

void KleberPageDisplay::paintEvent(QPaintEvent * /*event*/)
{
	if ( not m_page )
		return ;
	
	QPainter painter(this);

	painter.drawImage(QPoint(0, 0), m_page->image());
}


